package cn.oms.emr.provider.dao.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("electronic_medical_record")
@ApiModel(value="ElectronicMedicalRecord对象", description="")
public class ElectronicMedicalRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID（新增自增生成）(UUID)")
    @TableField("ID")
    private String id;

    @ApiModelProperty(value = "病例号CODE（新增生成）（病案号）（EMR）")
    @TableField("EMR_CODE")
    private String emrCode;

    @ApiModelProperty(value = "入院号（对应入院登记表）（OP-22-000131-0）")
    @TableField("ADMISSION_NO")
    private String admissionNo;

    @ApiModelProperty(value = "患者入院日期（VISIT:29-MAR-2022）")
    @TableField("PATIENT_ADMISSION_ID")
    private LocalDate patientAdmissionId;

    @ApiModelProperty(value = "患者信息ID（对应基本信息表）（ALL4452）")
    @TableField("PATIENT_ID")
    private String patientId;

    @ApiModelProperty(value = "姓")
    @TableField("FIRST_NAME")
    private String firstName;

    @ApiModelProperty(value = "名")
    @TableField("LAST_NAME")
    private String lastName;

    @ApiModelProperty(value = "单独姓名标识（0姓名 1姓）")
    @TableField("SINGLE_NAME_FLAG")
    private Integer singleNameFlag;

    @ApiModelProperty(value = "患者姓名(中文)")
    @TableField("PATIENT_NAME_CN")
    private String patientNameCn;

    @ApiModelProperty(value = "患者姓名(英文)")
    @TableField("PATIENT_NAME_EN")
    private String patientNameEn;

    @ApiModelProperty(value = "患者姓名(拼音)")
    @TableField("PATIENT_NAME_PY")
    private String patientNamePy;

    @ApiModelProperty(value = "血型CODE")
    @TableField("BLOOD")
    private String blood;

    @ApiModelProperty(value = "性别(0男 1女 2未知)")
    @TableField("PATIENT_SEX")
    private Integer patientSex;

    @ApiModelProperty(value = "出生年月日( DOB:10-OCT-1999 )")
    @TableField("PATIENT_DOB")
    private LocalDate patientDob;

    @ApiModelProperty(value = "年龄")
    @TableField("PATIENT_AGE")
    private Integer patientAge;

    @ApiModelProperty(value = "年龄（月）（年龄不足1周岁的）")
    @TableField("PATIENT_AGE_MON")
    private Integer patientAgeMon;

    @ApiModelProperty(value = "国籍CODE")
    @TableField("NATIONALITY")
    private String nationality;

    @ApiModelProperty(value = "籍贯")
    @TableField("NATIVE_PLACE")
    private String nativePlace;

    @ApiModelProperty(value = "证件类型CODE")
    @TableField("DOCUMENT_TYPE")
    private String documentType;

    @ApiModelProperty(value = "证件证号")
    @TableField("DOCUMENT_TYPE_NUMBER")
    private String documentTypeNumber;

    @ApiModelProperty(value = "电话区号（对应国家表的电话区号）")
    @TableField("PATIENT_PHONE_AREA_CODE")
    private String patientPhoneAreaCode;

    @ApiModelProperty(value = "电话号码")
    @TableField("PATIENT_PHONE")
    private String patientPhone;

    @ApiModelProperty(value = "邮箱")
    @TableField("PATIENT_EMAIL")
    private String patientEmail;

    @ApiModelProperty(value = "身高(cm)")
    @TableField("PATIENT_HEIGHT")
    private Integer patientHeight;

    @ApiModelProperty(value = "体重(kg)")
    @TableField("PATIENT_WEIGHT")
    private Integer patientWeight;

    @ApiModelProperty(value = "BMI")
    @TableField("PATIENT_BMI")
    private BigDecimal patientBmi;

    @ApiModelProperty(value = "臀围（cm）")
    @TableField("HIP_CIRCUMFERENCE")
    private Integer hipCircumference;

    @ApiModelProperty(value = "胸围（cm）")
    @TableField("CHEST_CIRCUMFERENCE")
    private Integer chestCircumference;

    @ApiModelProperty(value = "孕妇及哺乳期妇女（0非 1是）")
    @TableField("PREGNANT_AND_LACTATING_WOMEN_FLAG")
    private Integer pregnantAndLactatingWomenFlag;

    @ApiModelProperty(value = "儿童（0非 1是）")
    @TableField("CHILDREN_FLAG")
    private Integer childrenFlag;

    @ApiModelProperty(value = "老年（0非 1是）")
    @TableField("ELDERLY_FLAG")
    private Integer elderlyFlag;

    @ApiModelProperty(value = "当前状态出院状态（0在院 1已出院 2就诊中 3中途回家）")
    @TableField("EMR_FLAG")
    private Integer emrFlag;

    @ApiModelProperty(value = "创建人ID")
    @TableField("CREATE_MAN_ID")
    private String createManId;

    @ApiModelProperty(value = "创建人名称（名字+科室）")
    @TableField("CREATE_MAN_NAME")
    private String createManName;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
